Summarization and Visualization

Initialize Document

Read In Data

traffic = read.csv("DenTraffic2019ToModel.csv")
traffic = subset(traffic,traffic$FUNCCLASSI!="2  Principal Arterial - Fwys and Expwys")

Summarization

summary(traffic)
##        X          SEG_LENGTH       ROUTENAME           SEGMDIR         
##  Min.   :   1   Min.   :0.00100   Length:5118        Length:5118       
##  1st Qu.:1319   1st Qu.:0.04000   Class :character   Class :character  
##  Median :2640   Median :0.06000   Mode  :character   Mode  :character  
##  Mean   :2637   Mean   :0.06717                                        
##  3rd Qu.:3950   3rd Qu.:0.08000                                        
##  Max.   :5267   Max.   :1.07000                                        
##   FUNCCLASSI            SURFWD            PSI          THRULNQTY   
##  Length:5118        Min.   : 20.00   Min.   :1.000   Min.   :1.00  
##  Class :character   1st Qu.: 34.00   1st Qu.:2.500   1st Qu.:2.00  
##  Mode  :character   Median : 40.00   Median :4.000   Median :2.00  
##                     Mean   : 44.86   Mean   :3.454   Mean   :2.76  
##                     3rd Qu.: 48.00   3rd Qu.:4.000   3rd Qu.:4.00  
##                     Max.   :170.00   Max.   :4.000   Max.   :8.00  
##     THRULNWD         AADT         AADTDERIV      RUNLENGTH1   
##  Min.   : 9.0   Min.   :   40   Min.   :0.00   Min.   :0.010  
##  1st Qu.:10.0   1st Qu.: 4700   1st Qu.:1.00   1st Qu.:0.400  
##  Median :10.0   Median : 8400   Median :3.00   Median :0.830  
##  Mean   :10.5   Mean   :11980   Mean   :2.23   Mean   :1.119  
##  3rd Qu.:11.0   3rd Qu.:17750   3rd Qu.:3.00   3rd Qu.:1.580  
##  Max.   :18.0   Max.   :66000   Max.   :3.00   Max.   :6.479

Visualizations

Quantitative Graphs

library(plotly)
## Warning: package 'plotly' was built under R version 4.3.2
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
traffic$color = as.factor(traffic$FUNCCLASSI)

fig <- plot_ly(traffic, x = ~AADT, y = ~SURFWD, z = ~THRULNQTY, type = 'mesh3d', 
        opacity = 1)

fig

SEGMDIR

data = data.frame(SEGMDIR = c("N","NE","E","SE","S","SW","W","NW"),
                  dist = c(
                    sum(subset(traffic,traffic$SEGMDIR=="N")$SEG_LENGTH),
                    sum(subset(traffic,traffic$SEGMDIR=="NE")$SEG_LENGTH),
                    sum(subset(traffic,traffic$SEGMDIR=="E")$SEG_LENGTH),
                    sum(subset(traffic,traffic$SEGMDIR=="SE")$SEG_LENGTH),
                    sum(subset(traffic,traffic$SEGMDIR=="S")$SEG_LENGTH),
                    sum(subset(traffic,traffic$SEGMDIR=="SW")$SEG_LENGTH),
                    sum(subset(traffic,traffic$SEGMDIR=="W")$SEG_LENGTH),
                    sum(subset(traffic,traffic$SEGMDIR=="NW")$SEG_LENGTH)
                  ))
data$SEGMDIR = factor(data$SEGMDIR,levels=data$SEGMDIR)
chart <- ggplot(data, aes(x=as.factor(SEGMDIR), y=dist)) +     
  geom_bar(stat="identity", fill=alpha("blue", 0.4)) +
  ylim(0,120) +
  theme_minimal() +
  theme(
    axis.text = element_blank(),
    axis.title = element_blank(),
    panel.grid = element_blank(),
    plot.margin = unit(rep(-2,4), "cm"))+
  coord_polar(start = -pi/8)+
  geom_text(data=data, aes(x=SEGMDIR, y=dist+10, label = SEGMDIR), color="black", fontface="bold",alpha=0.6, size=2.5, inherit.aes = FALSE )
chart

SEG_LENGTH

par(mfrow = c(1, 2))
plot(density(traffic$SEG_LENGTH))
plot(traffic$AADT ~ traffic$SEG_LENGTH)

SURFWD

par(mfrow = c(1, 2))
plot(density(traffic$SURFWD))
plot(traffic$AADT ~ traffic$SURFWD)

PSI

par(mfrow = c(1, 2))
plot(density(traffic$PSI))
plot(traffic$AADT ~ traffic$PSI)

THRULNQTY

par(mfrow = c(1, 2))
plot(density(traffic$THRULNQTY))
plot(traffic$AADT ~ traffic$THRULNQTY)

THRULNWD

par(mfrow = c(1, 2))
plot(density(traffic$THRULNWD))
plot(traffic$AADT ~ traffic$THRULNWD)

RUNLENGTH1

par(mfrow = c(1, 2))
plot(density(traffic$RUNLENGTH1))
plot(traffic$AADT ~ traffic$RUNLENGTH1)

Qualitative Charts

AADTDERIV

barplot(table(traffic$AADTDERIV))

SEGDIR

#barplot x=factor levels y=count
barplot(table(traffic$SEGMDIR))

FUNCCLASSI

barplot(table(traffic$FUNCCLASSI))